package com.hyw.supply.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * <p>
 * 供应商订单信息
 * </p>
 *
 * @author zzp
 * @since 2024-04-18
 */
@Getter
@Setter
@TableName("supply_order")
public class SupplyOrder implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema(title = "id", description = "主键id")
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;

    @Schema(title = "goodsName", description = "商品名称")
    private String goodsName;

    @Schema(title = "skuCode", description = "sku编码")
    private String skuCode;

    @Schema(title = "goodsSpecs", description = "商品规格")
    private String goodsSpecs;

    @Schema(title = "goodsPrice", description = "商品单价")
    private BigDecimal goodsPrice;

    @Schema(title = "goodsNumber", description = "商品数量")
    private Integer goodsNumber;

    @Schema(title = "goodsType", description = "商品类型")
    private String goodsType;

    @Schema(title = "sellingMode", description = "售卖方式")
    private String sellingMode;

    @Schema(title = "orderStatus", description = "订单状态(0待付款 1待发货-待备货 2待发货-出库失败 3待发货-出库中 4待发货-部分出库 5退单待审核 6待收货 7已完成 8已退单 9已取消)")
    private Integer orderStatus;

    @Schema(title = "orderNo", description = "订单号")
    private String orderNo;

    @Schema(title = "orderType", description = "订单类型")
    private String orderType;

    @Schema(title = "orderPrice", description = "订单金额")
    private BigDecimal orderPrice;

    @Schema(title = "buyerMessage", description = "买家留言")
    private String buyerMessage;

    @Schema(title = "placeOrderDate", description = "下单时间")
    private LocalDateTime placeOrderDate;

    @Schema(title = "receiver", description = "收货人")
    private String receiver;

    @Schema(title = "receiverPhone", description = "收货人手机号")
    private String receiverPhone;

    @Schema(title = "receiverAddress", description = "收货人地址")
    private String receiverAddress;

    @Schema(title = "remarks", description = "备注")
    private String remarks;

    @Schema(title = "payDate", description = "支付时间")
    private LocalDateTime payDate;

    @Schema(title = "completeDate", description = "完成时间")
    private LocalDateTime completeDate;

    @Schema(title = "choiceDate", description = "备货时间")
    private LocalDateTime choiceDate;

    @Schema(title = "deliveryDate", description = "发货时间")
    private LocalDateTime deliveryDate;

    @Schema(title = "expressCompany", description = "物流公司")
    private String expressCompany;

    @Schema(title = "expressOrderNo", description = "运单单号")
    private String expressOrderNo;

    @Schema(title = "freightPrice", description = "运费")
    private BigDecimal freightPrice;

    @Schema(title = "deliveryTime", description = "发货时效（小时）")
    private Integer deliveryTime;

    @Schema(title = "deliveryMode", description = "发货方式")
    private String deliveryMode;

    @Schema(title = "enterprise", description = "企业主体")
    private String enterprise;

    @Schema(title = "itemName", description = "项目名称")
    private String itemName;

    @Schema(title = "serialNumber", description = "3c序列号")
    private String serialNumber;

    @Schema(title = "creater", description = "创建人")
    private Long creater;

    @Schema(title = "createTime", description = "创建时间")
    private LocalDateTime createTime;

    @Schema(title = "updater", description = "修改人")
    private Long updater;

    @Schema(title = "updateTime", description = "修改时间")
    private LocalDateTime updateTime;
}
